#ifndef BFCP_TRANSPORT_EVENT_THREAD_HXX
#define BFCP_TRANSPORT_EVENT_THREAD_HXX

#include "rutil/ThreadIf.hxx"
#include "rutil/FdPoll.hxx"
//#include "rutil/SelectInterruptor.hxx"
//#include "bfcp/BfcpStack.hxx"

namespace bfcp
{
    class BfcpStack;

//     class BfcpTransportEventThreadInterruptor : public resip::SelectInterruptor
//     {
//     public:
//         BfcpTransportEventThreadInterruptor(resip::FdPollGrp& pollGrp);
//         virtual ~BfcpTransportEventThreadInterruptor();
//     protected:
//         resip::FdPollGrp& mPollGrp;      // used just to remove ourselves
//         resip::FdPollItemHandle mPollItemHandle;
//     };

    class BfcpTransportEventThread : public resip::ThreadIf
    {
    public:
        BfcpTransportEventThread(BfcpStack& stack, resip::FdPollGrp& grp);
        ~BfcpTransportEventThread();

        void thread();

    private:
        BfcpStack& mStack;
        resip::FdPollGrp& mPollGrp;
    };

}

#endif// #ifndef BFCP_TRANSPORT_EVENT_THREAD_HXX
